《JavaWeb程序开发入门》课后题

您所在的位置:网站首页 java web技术及应用青软课后题答案 《JavaWeb程序开发入门》课后题

《JavaWeb程序开发入门》课后题

2024-01-06 02:43| 来源: 网络整理| 查看: 265

第一章

1、请编写一个格式良好的XML文档,要求包含足球队一支,队名为Madrid,球员5人:Ronaldo、Casillas、Ramos、Modric、Benzema;篮球队一支,队名为Lakers,队员2人:Oneal,Bryant。要含有注释。

2、在XML Schema文档中,定义一个雇员的年龄为18~58周岁之间。请写出相应的元素声明。

------第1题答案------

Madrid Ronaldo Casillas Ramos Modric Benzema Lakers Oneal Bryant

------第2题答案------

第二章

1、如何将web应用发布到tomcat上localhost主机,请写出至少3种实现方式?

2、请问在chapter02应用的web.xml文件中进行哪些配置,可以将welcome.html页面配置成该应用的默认页面?

------第1题答案------

1、直接将web应用部署到tomcat/webapps下

2、将web应用通过tomcat/conf/server.xml进行配置

3、创建一个xml文件,并配置web应用信息,将xml文件放置tomcat\conf\Catalina\localhost

------第2题答案------

在web-app标签中进行如下配置即可:

welcome.html 第三章

1、简述HTTP1.1协议的通信过程?

2、简述POST请求和GET请求有什么不同? 

------第1题答案------

1、客户端与服务器端建立TCP连接。

2、客户端可以向服务器端发送多个请求,并且在发送下个请求时,无需等待上次请求的返回结果。

3、服务器必须按照接受客户端请求的先后顺序依次返回响应结果。

4、客户端发出关闭TCP连接的请求

5、服务器端关闭TCP连接

------第2题答案------

1、 POST传输数据大小无限制

2、POST比GET请求方式更安全

第四章

1、 编写一个servlet,实现统计网站被访问次数的功能。

2、请编写一段程序,使程序能读取该servlet的配置信息,从中获得参数名为encoding对应的参数值,并输出到页面上。 

------第1题答案------

步骤如下:

1)新建一个类ShowTimesServlet继承HttpServlet,重写doGet和doPost方法

2)在doPost方法中调用doGet方法,在doGet方法中实现统计网站被访问次数的功能,用户每请求一次servlet,使访问次数times加1

3)获取ServletContext,通过它的功能记住上一次访问后的次数

具体代码实现如下:

import java.io.*; import javax.servlet.*; import javax.servlet.http.*; public class ShowTimesServlet extends HttpServlet { private static final long serialVersionUID = 1L; protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException { ServletContext context = getServletContext(); Integer times = (Integer) context.getAttribute("times"); if (times == null) { times = new Integer(1); } else { times = new Integer(times.intValue() + 1); } //设置编码,不然中文会变成乱码 resp.setContentType("text/html;charset=GB2312"); //得到输出流对象 PrintWriter out=resp.getWriter(); out.println(""); out.println("页面访问统计"); out.println(""); out.println("当前页面被访问了"); out.println(""+times+"次"); //设置属性,将times保存到当前的上下文中 context.setAttribute("times",times); } protected void doPost(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException { this.doGet(req, resp); } }

------第2题答案------

import java.io.*; import javax.servlet.*; import javax.servlet.http.*; public class MyServlet extends HttpServlet { protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { PrintWriter out = response.getWriter(); ServletConfig config = getServletConfig(); String param = config.getInitParameter("encoding"); out.println("encoding=" + param); } protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { this.doGet(request, response); } } 第五章

请按照以下要求设计一个实现下载资源防盗链的类。

1) 创建一个DownManagerServlet类,继承HttpServlet类。

2) 在doGet()方法中,判断是否可以进行资源下载

------答案------

步骤如下:

1)创建一个DownManagerServlet类,使其继承HttpServlet类并重写该类的doGet()方法。

2)在doGet()方法中,使用HttpServletRequest对象的getHeader("referer")方法得到字段referer的值,并判断是否可以进行资源下载。

3)如果不能下载,则进入下载页。

具体代码实现如下:

public class DownManagerServlet extends HttpServlet {     public void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { response.setContentType("text/html;charset=utf-8"); PrintWriter out = response.getWriter();         // 获取referer头的值 String referer = request.getHeader("referer");         // 获取访问地址 String sitePart = "http://" + request.getServerName(); if (referer != null && referer.startsWith(sitePart)) { // 处理正在下载的请求 out.println("dealing download ..."); } else { // 非法下载请求跳转到download.html页面 RequestDispatcher rd = request.getRequestDispatcher("/download.html"); rd.forward(request, response); }     } } 第六章

1、 请使用Cookie技术实现显示用户上次访问时间的功能。

2、请设计一个类,使用Session技术实现购物车功能。 

------第1题答案------

步骤如下:

1)创建一个LastAccessServlet类,使其继承HttpServlet类并重写该类的doGet()方法。

2)在doGet()方法中,使用request.getCookies()得到所有cookie形成的cookie数组,并进行遍历。

3)如果遍历过程中找到cookie信息中存在lastAccess属性则输出,否则创建cookie对象,设置值为当前时间并发送给客户端。

4)cookie的存活时间为1小时,访问当前应用中的所有资源客户端都回送cookie信息。

具体代码实现如下:

package cn.itcast.chapter06.cookie.example; import java.io.IOException; import java.util.Date; import javax.servlet.ServletException; import javax.servlet.http.Cookie; import javax.servlet.http.HttpServlet; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; public class LastAccessServlet extends HttpServlet {     private static final long serialVersionUID = 1L;     public void doGet(HttpServletRequest request,     HttpServletResponse response)throws ServletException, IOException { response.setContentType("text/html;charset=utf-8");         /*      * 设定一个 cookie 的name : lastAccessTime          * 读取客户端发送cookie 获得用户上次的访问时间显示*/         String lastAccessTime = null;         // 获取所有的cookie,并将这些cookie存放在数组中         Cookie[] cookies = request.getCookies();         for (int i = 0; cookies != null && i < cookies.length; i++) {             if ("lastAccess".equals(cookies[i].getName())) {                 // 如果cookie的名称为lastAccess,则获取该cookie的值                 lastAccessTime = cookies[i].getValue();                 break;             }         }         // 判断是否存在名称为lastAccess的cookie         if (lastAccessTime == null) {             response.getWriter().print("您是首次访问本站!!!");         } else {             response.getWriter().print("您上次的访问时间"+lastAccessTime);         }         // 创建cookie,将当前时间作为cookie的值发送给客户端         Cookie cookie = new Cookie("lastAccess",new Date().toLocaleString());         cookie.setMaxAge(60*60);//保存1小时         //访问chapter06下资源时回送cookie         cookie.setPath("/chapter06");         // 发送 cookie         response.addCookie(cookie);     } }

------第2题答案------

步骤如下:

1)创建一个PurchaseServlet类,使其继承HttpServlet类并重写该类的doGet()方法。

2)在doGet()方法中,使用request.getSession()实现购物车。

3)将session的id保存到cookie中。

4)重定向到购物车页面。

具体代码实现如下:

public class PurchaseServlet extends HttpServlet {     public void doGet(HttpServletRequest req, HttpServletResponse resp)throws ServletException, IOException {         // 获得用户购买的商品         String id = req.getParameter("id");         if (id == null) {             // 如果id为null,重定向到ListBookServlet页面             String url = "/chapter06/ListBookServlet";             resp.sendRedirect(url);             return;         }         Book book = BookDB.getBook(id);         // 创建或者获得用户的Session对象         HttpSession session = req.getSession();         // 从Session对象中获得用户的购物车         List cart = (List) session.getAttribute("cart");         if (cart == null) {             // 首次购买,为用户创建一个购物车(List集合模拟购物车)             cart = new ArrayList();             // 将购物城存入Session对象             session.setAttribute("cart", cart);         }         // 将商品放入购物车         cart.add(book);         // 创建Cookie存放Session的标识号         Cookie cookie = new Cookie("JSESSIONID", session.getId());         cookie.setMaxAge(60 * 30);         cookie.setPath("/chapter06");         resp.addCookie(cookie);         // 重定向到购物车页面         String url = "/chapter06/CartServlet";         resp.sendRedirect(url);     } } 第七章

1、 请使用include标签编写两个JSP页面,

要求:输出b.jsp页面的内容,等待5秒,再输出a.jsp页面。

2、 已知一个datetime.jsp页面用于显示当前时间。请编写jsp   

文件用于显示“欢迎来到传智播客,现在的时间是:”+当前时间。 

------第1题答案------

a.jsp代码:

a.jsp内的中文

b.jsp代码:

b.jsp内的中文

------第2题答案------

             欢迎你                   欢迎来到传智播客,现在的时间是:               第八章

1、请编写一个类,实现通过对象得到完整的“包.类”名称的功能。

2、设计一个程序使用BeanUtils工具为Person对象(JavaBean类)赋值。

    1)直接生成User对象。

    2)使用BeanUtils工具为name属性赋值”youjun”,age赋值为31。

    3)使用BeanUtils工具取出属性值,并在控制台输出。

------第1题答案------

package cn.itcast.javabean; class Cs{} public class GetClassNameDemo { public static void main(String[] args) { Cs cs = new Cs (); System.out.println(Cs. getClass().getName()); } }

------第2题答案------

 

package cn.itcast.chapter08.beanutils; import org.apache.commons.beanutils.BeanUtils; import cn.itcast.chapter08.javabean.Person; public class BeanUtilsDemo01 {     public static void main(String[] args) throws Exception{         Person p = new Person();         //使用BeanUtils为属性赋值         BeanUtils.setProperty(p, "name", "youjun");         BeanUtils.setProperty(p, "age", 31);         //使用BeanUtils获取属性值         String name = BeanUtils.getProperty(p, "name");         String age = BeanUtils.getProperty(p, "age");         System.out.println("名字是"+name+",今年"+age+"岁");     } }  第九章

1、简述什么是MVC设计模式?

2、简述MVC设计模式中模型(Model)模块的作用? 

 ------第1题答案------

 MVC模式将软件程序分为3个核心模块:模型(Model)、视图(View)和控制器(Controller)

 ------第2题答案------

 1、管理应用程序的业务数据

2、定义访问控制和修改这些数据的业务规则

3、为视图提供查询模型状态的方法

 



【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3